Customer service often requires the answering of customer questions either submitted by a phone contact, email, text message, or from other media source. The contacts are generally received in a contact center. To efficiently answer contacts, the contact center may queue contacts to assign an order in how the contacts will be answered. Queuing allows the contact center systems to stage the customers' requests until free resources become available. If traffic intensity levels exceed available capacity, customer's contacts are not lost but queued; customers wait until they can be served by the next available agent or operator.
Waiting in a queue can be frustrating to the customer, so algorithms have been created to estimate the wait time and provide this information to the customer. A queuing algorithm determines the manner in which a contact center handles contacts from customers. The queuing algorithm defines the way each customer will be served, the order in which they are served, and the way in which resources are divided among the customers. Some queuing schemes include: first-in-first-out (FIFO), where the customers that has been waiting the longest is served first; priority queuing, where customers with the highest perceived priority are served first; and needs-based queuing, where the motivation for the customers' contacts is taken into account.
Contact centers may utilize various calculations to determine waiting time, service time, server utilization, and other metrics that are used to measure queuing performance or execute the queuing algorithms. Unfortunately, wait time calculations do not always model actual wait times. Indeed, wait time calculations generally fail to understand how a contact will be handled and estimate how long a contact will take to be serviced.
Generally, contact center routing algorithms use estimated remaining service time for a contact already assigned to an agent as part of the work assignment algorithms. Generally, estimated remaining service time is determined as ‘Average contact historical length’—time already elapsed in the contact. This simple algorithm treats all contacts similarly. No allowance is made for various factors that affect service time. For example, all agents in a service pool are assumed to handle a particular contact skill or type of contact with the same average contact service time. No allowance is made for personal ability. The result of these general algorithms is inaccuracies and inefficiencies in the contact routing algorithms.